import singleSelectDefaultStatus from './Select/SingleSelect.ts'
import MultipleSelectDefaultStatus from './Select/MultipleSelect.ts'
import DropDownSelectDefaultStatus from './Select/DropDownSelect.ts'
import SingleImageSelectDefaultStatus from './Select/SingSelectImage.ts'
import TextInputDefaultStatus from './Text/Input.ts'
import RateScoreDefaultStatus from './Text/RateScore.ts'
import DateTimeDefaultStatus from './Text/DataTime.ts'
import TextNoteDefaultStatus from './Text/TextNote.ts'
import { MaterialComType } from '@/constants'
import type { EditorComps } from '@/types'

interface DefaultStatusMapType {
  [key: string]: () => EditorComps
}

export const defaultStatusMap: DefaultStatusMapType = {
  [MaterialComType.SingleSelect]: singleSelectDefaultStatus,
  [MaterialComType.MultiSelect]: MultipleSelectDefaultStatus,
  [MaterialComType.DropDownSelect]: DropDownSelectDefaultStatus,
  [MaterialComType.SingleImageSelect]: SingleImageSelectDefaultStatus,
  [MaterialComType.TextInput]: TextInputDefaultStatus,
  [MaterialComType.RateStore]: RateScoreDefaultStatus,
  [MaterialComType.DateTime]: DateTimeDefaultStatus,
  [MaterialComType.TextNote]: TextNoteDefaultStatus
}
